---
title: FAQ
description: Answers to the most common questions about the Platform API and atoms.
"icon": "comments"
---
### 1. What is an OAuth client?
-  A platform OAuth client enables you communicate with our API and manage your users.
-  It contains properties such as name, redirect uris and permissions required by your users.

### 2. What is a managed user?
- A managed user is just a representation of your user within our database containing basic information like e-mail.
- It can be used to manage the setup of integrations such as Google Calendar, your users bookings. availability, etc.
- You should store information about the managed users in your database and use the access token to make API calls on their behalf.

### 3. Are a cal.com user and a managed user related?
- No, a cal.com user and a managed user are not related in any way. We can consider them as two separate entities.
- A "managed user" is completely independent of user accounts on cal.com and you don't need to register users on the cal.com web application.

### 4. What is an access token?
- At the time of creating a managed user you'll be provided with an access token and a refresh token.
- Each managed user is linked with an access token which helps us in identifying which users scheduling we need to handle.
- The access token only lasts for 60 minutes after which you can query the refresh point with your refresh token which will give you a new access token.
- Inside of atoms we handle access token refreshing part ourselves, outside of that you may need to handle the refreshing part yourselves.
- Refresh tokens should never be exposed to the frontend, keep them secure and only use them on the backend.

### 5. What is an atom?
- An atom is a customizable UI component that handles scheduling on behalf of your user.
- Everything from the front-end to the API calls is being handled by the atom, all you need to do is import the atom and drop it in your code.

### 6. What are the minimum setup requirements for using atoms?
- You need to have a project that uses React version 18 and above.
- At the moment atoms are only supported in React, so there's no way to use them in vanilla js or any other popular framework.

### 7. Can recurring events be rescheduled?
- No, at the moment you are only allowed to cancel a recurring event.

### 8. Why toggle animation is not working in the AvailabilitySettings atom?
- For the AvailabilitySettings toggle animation to work set the reading direction on the `<html>` element:
 ```html
 <html dir="ltr"> ... </html>
 ```

### 9. What are the authentication methods for making calls to the v2 API?
Either of the two:
- Setting `Authorization: Bearer <token>` header where `<token>` is access token of the managed user.
- Setting `x-cal-client-id: <client-id>` and `x-cal-secret-key: <client-secret>` where `<client-id>` is OAuth client id and `<client-secret>` is OAuth client secret. Both can be copied from the dashboard.

### 10. When am I charged and not charged ?
- You are charged for scheduled booking only when the booking starts.
- If a booking is rescheduled you are still charged once.
- If a booking is cancelled then you are not charged for it.

### 11. What happens if there are more bookings than in my plan?
- You have to pay overage for each booking that exceeds the amount in your plan.
